常见的Java应用安全漏洞有哪些
常见的Java应用安全漏洞有以下方面:
代码注入:接受输入的应用程序都容易受到代码注入的攻击。当通过输入传递的数据对程序运行或返回数据的方式造成意想不到的副作用时,就会发生代码注入。
命令注入:它允许攻击者在运行应用程序的服务器上执行shell命令。
连接字符串注入:攻击者可以运行多个连接注入字符串,用重复参数污染它们,同时数据库进行有效组合。因此,攻击者最终绕过了正常的身份验证过程,不被强制退出。
LDA注入:利用输入验证并注入可执行查询。LDAP是轻量级目录访问协议,是一种开放的、跨平台的用于目录服务认证的协议。LDAP是一种通信语言,应用程序可以利用它访问目录服务器。当应用程序将未经处理的输入直接插入LDAP语句时,就会发生LDAP注入。在这种情况下,攻击者可以使用LDAP筛选器语法,这种语法可以让服务器执行其他查询和LDAP语句。
基于反射的XSS攻击:反射XSS攻击,或反射跨域脚本攻击,是一个添加恶意脚本的过程,这种恶意脚本是通过链接激活的,其之后产生的指令会将用户传送到其他地方。
资源注入:当攻击者成功地更改应用程序用于执行恶意任务的资源标识符时,就会发生资源注入。这可能是修改端口号、修改文件名,以及获得执行或访问其他资源的能力。
SQL注入:这是一个在数据请求中注入SQL的过程,这会导致后端应用程序将机密数据返回或在数据库上执行恶意脚本的内容。这可能导致死机、数据访问和隐私侵犯。不仅如此,SQL注入还可能导致数据丢失或损坏,并让用户无法进入自己的数据库。这时,注入已经完全控制了数据。
二阶SQ注入:二级SQL注入分两步。首先,攻击者向应用程序添加了一些东西,但并不立即执行。他们可能等待着更多的数据或等待活动的触发。这就是二阶SQL注入不同于普通SQL注入的地方。攻击者向表行注入代码,这一代码将被视为可信源。然后调用该表行,导致攻击从休眠状态转移到活动执行状态。
存储式XSS:当攻击者向网站或应用程序的内容注入脚本时,就会发生存储型跨脚本攻击或持久性跨脚本攻击。
XPath注入:XPath注入背后的原理与SQL注入类似唯一区别是后者采用XML格式。如果攻击者找出XML结构,就可以很容易地发送畸形数据。这让攻击者能够追踪XML文档,获得对用户名和密码等详细信息的访问权。通常,当查询构建在未经验证的输入上时,就会发生XPath注入。